1. The Field of the Invention
The present invention generally relates to displaying graphical and image data on electronic devices in an entertainment network, e.g., a home entertainment network. More particularly, the present invention provides for dynamically generating video data streams for transferring graphical/image data from a host computing device to an electronic device—that typically has limited resources—for rendering the data.
2. Background and Related Art
Computerized systems provide many advantages towards people's ability to perform tasks. To enable these advantages, computer systems often come equipped with (or are expandable to include) multiple hardware devices that can store or read data or enable a software program to perform a specific action on data. Such devices can include, e.g., a hard drive, a Compact Disk (i.e., CDROM, CDRW, etc.), a Universal Serial Bus (USB) device (e.g., a printer, a scanner, etc.), and so on. Present computer systems also commonly have installed there on multiple software (or “applications”) programs such as a word processing program, a spread sheet program, an imaging program, and an electronic mail program, which instruct the devices to perform specific actions on the data.
Indeed, the computer system's ability to process information has transformed the way we live and work. Computing systems now take a wide variety of forms including desktop computers, laptop computers, tablet PCs, Personal Digital Assistants (PDAs), and the like. Even household devices (such as refrigerators, ovens, sewing machines, security systems, and the like) have varying levels of processing capability and thus may be considered computing systems. Processing capabilities continue to be incorporated into devices that traditionally did not have such processing power. Accordingly, the diversity trend of computing systems will likely increase.
This increase in computing resources has partially driven the need for coupling computer systems to one another to form both wired and wireless computer networks over which the computer systems can communicate electronically to share data. As a result, many tasks performed at a computer system (e.g., voice communication, accessing electronic mail, electronic conferencing, web browsing) include electronic communication with one or more other computer systems via wired and/or wireless computer networks.
More recently, various operating systems and frameworks have allowed single applications to be run simultaneously by multiple users at different computing systems. This “session-oriented” extension turns an ordinary computer into a centralized, timeshared server similar to mainframes and dumb terminals. The difference is that these extensions provide a graphical interface, whereas mainframes provide only character-based interfaces. All the data processing is performed in the server/host computer, and the client displays only the user interface and screen changes. Such centralized processing power, as well as the advancement in consumer electronic devices, has been the catalyst for the movement of the digital-home network.
As the advent of the digital-home network evolves consumers are discovering the benefits of connecting their personal computers to other consumer electronic devices. For example, by storing music, digital photos, movies, and other content on their personal computers and interfacing the host computer with various consumer electronic devices (e.g., network televisions, wireless monitors, DVDs, set-top box (STB), or other digital media), consumers can turn their home network into a complete home entertainment system. Such centralized storage and connectivity allows users to easily search, sort, and reproduce content, at a number of different electronic devices. In addition, by utilizing the advancement of session-oriented processing capabilities of a host computer, users can have a rich user experience of various applications at each consumer electronic device, without having to be physically at the host computer.
Usually, the central or host computer of a home network is more powerful than the consumer electronic devices. Creating a home network in this fashion—i.e., using less powerful electronic devices, for example—alleviates the issues of cost and distribution of computing load. The cost of a home network to a consumer is reduced because the electronic devices typically have limited processing resources and other capabilities, thus they are not as expensive as more intelligent platforms.
Although the reduction in cost is a great benefit, other difficulties arise. For example, in order for an electronic device to render and interact with the user interface (UI) of a session for an application running on the host computer, the consumer electronic device will typically use a UI protocol such as Remote Desktop Protocol (RDP)/Independent Computer Architecture (ICA) or a common language such as HyperText Markup Language (HTML). Such protocols and languages, however, put an extra burden on the electronic device in the form of complexity, hardware capabilities, etc.
Another problem using consumer electronic devices with limited resources in a home network is that a simple processing session for a host computer can appear heavy and burdensome for a consumer electronic device. For example, a slideshow (i.e., the ability to show photos or image data consecutively and in full screens) is typically a very simple process on a host computer. Nevertheless, each image in a slideshow can be several megapixels is size. Accordingly, transferring the data to an electronic device means large bursts across the network—especially wireless networks—and lots of data to be decompressed during playback by the electronic device's central processor unit (CPU). The result is a slideshow that lacks a high level of visual refinement, such as visible painting on the screen, which feels sluggish and cheap to a consumer. This problem is even further elevated by any transitional information associated with the slideshow, such as panning, zooming, etc.
One approach to alleviate the above-identified problem for rendering slideshow presentations on consumer electronic devices is to compile the photos into a video file, which can be transferred to the device. Since the video file must be pre-compiled, however, this approach does not allow for user interactivity for manipulating the slides, which is often desirable. Accordingly there exits a need for being able to more effectively transmit and render graphical/image data at consumer electronic devices with limited resources for enhancing the user experience.